package cn.wolfcode.wolf2w.business.service;

import cn.wolfcode.wolf2w.business.api.domain.Strategy;
import cn.wolfcode.wolf2w.business.api.domain.StrategyCondition;
import cn.wolfcode.wolf2w.business.query.StrategyQuery;
import cn.wolfcode.wolf2w.business.vo.ThemeVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 攻略Service接口
 *
 * @author zty
 * @date 2025-09-16
 */
public interface IStrategyService extends IService<Strategy> {


    List<Strategy> strategyTop3(Long destId);

    void statisRank();

    List<ThemeVO> queryTheme();


    IPage<Strategy> queryPage(StrategyQuery qo, String orderBy, int currentPage, Integer refId, Integer type);

    void statisCondition();

    void insert(Strategy strategy);

    Map<String, Object> viewnumIncr(Long sid);

    Map<String, Object> replynumIncr(Long sid);

    Map<String, Object> favor(Long sid);

    Boolean isUserFavor(Long uid, Long sid);

    void strategyStatisHashPersistence();

    Map<String, Object> thumbsup(Long sid);

    List<Strategy> strategyTop5();
}
